A video sequence is a series of still images. Transmitting or storing a video sequence involves use of a certain scan format to convert video sequence data into pixels. Two such scan formats are commonly used: interlaced and non-interlaced.
As shown in FIG. 1A, devices using interlaced format will first scan the odd-numbered image lines to construct a first image field, and then scan the even-numbered image lines to construct the second field. On the other hand, as shown in FIG. 1B, devices using non-interlaced format simply scan an image line-by-line to construct a frame. Television technology started with interlaced scan but more recently, thanks to advances in technology, many television sets can display non-interlaced video.
But as most video sources are still in interlaced format, so-called de-interlacing algorithms are needed. Generally speaking, a noninterlaced frame has N scan lines while an interlaced field has N/2 scan lines (every other noninterlaced scan line). Hence, a de-interlacing algorithm needs to fill in the missing scan lines based on the existing data.
De-interlacing algorithms can be classified into two categories: intra-field algorithms and inter-field algorithms. Intra-field algorithms use only the information in the current field, while inter-field algorithms explore the data in adjacent fields as well.
The simplest intra-field de-interlacing algorithm simply repeats the previous active scan line, a straightforward technique that unfortunately produces an image having poor visual quality. A better intra-field algorithm is so-called scan line interpolation, an example of which uses line averaging:Linen=0.5·(Linen−1+Linen+1)
Referring to FIG. 1C, data for pixel a in line 1 is added to data for pixel b in line 2 and then averaged to a value for pixel x at intermediate line 1.5. Line averaging requires line memories and is thus more expensive to implement than the simple technique of repeating a line. Better results can be obtained if additional scan lines are used in scan line interpolation, but understandably even more line memory will be required, and implementation expenses will increase accordingly.
As noted, inter-field algorithms use not only information from the current field, but also use information from other fields, to produce generally superior viewing results. But implementing inter-field algorithms requires frame buffers, which can increase the complexity and the cost drastically. For this reason, inter-field algorithms are not commonly used in low-end devices.
What is needed is a de-interlacing algorithm that can provide better viewing quality close to inter-field algorithms, but at a complexity and cost level that is commensurate with simpler scan line interpolation techniques.
The present invention provides such an algorithm, and adaptive filters for implementing the algorithm.